Computer systems are formed of many different components that are coupled together to provide processing capabilities, communication capabilities, storage capabilities and so forth. In modern computer systems oftentimes there are multiple processors such as two or more multicore processors.
In the course of operations within a multiprocessor computer system, multiple processors can seek to access the same data. Accordingly, a coherency scheme can be provided for the system to enable a consistent view of data in the system. One such mechanism used in many computer systems is a lock protocol in which a processor seeks to block operation of the other processors to thus prevent those processors from issuing cycles on various interconnects while the locking processor performs an atomic operation on a given data. However, this lock operation can have a large impact on system performance, as all of the other processors in the system are prevented from issuing transactions until the atomic operation has completed.